package com.briup.cms.service;

import com.briup.cms.bean.Group;
import com.briup.cms.exception.CustomerException;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @author 14433
 */
public interface IGroupService {

    /**
     * 查询所有用户组信息
     * @return 查询到的用户组信息
     * @throws CustomerException 方法中可能会抛出CustomerException类型异常
     */
    List<Group> findAllGroups() throws CustomerException;

    /**
     *通过id查询用户组信息
     * @param id 组id
     * @return 用户组信息
     * @throws CustomerException 方法中可能会抛出CustomerException类型异常
     */
    Group findGroupById(Integer id) throws CustomerException;

    /**
     *新增用户组信息
     * @param group 新增的组信息对象
     * @throws CustomerException 方法中可能会抛出CustomerException类型异常
     */
    void insertGroup(Group group) throws CustomerException;

    /**
     * 更新用户组信息
     * @param group 需要更新的用户组对象
     * @throws CustomerException 方法中可能会抛出CustomerException类型异常
     */
    void updateGroup(Group group) throws CustomerException;

    /**
     * 通过id删除用户组信息
     * @param id 组id
     * @throws CustomerException 方法中可能会抛出CustomerException类型异常
     */
    void deleteById(Integer id) throws CustomerException;

    /**
     *分页查询所有的用户组信息
     * @param pageNum   第几页
     * @param pageSize  每页第几条
     * @return 分页对象
     * @throws CustomerException 方法中可能会抛出CustomerException类型异常
     */
    PageInfo<Group> findGroupByPage(int pageNum, int pageSize) throws CustomerException;

}
